package com.lost.octopus.es.processor.scheduler;

import com.lost.octopus.es.processor.config.SyncSchedulerAop;
import com.lost.octopus.es.processor.constant.enums.LimitSyncSchedulerKeyEnum;

/**
 * 防止并发执行同一个业务的调度服务
 * 配置需要注意，如果类似全量和增量，不应同时执行，应该把增量放后一分钟，防止在执行增量导致全量无法执行的问题
 * 默认匹配规则{@link SyncSchedulerAop#roundCheckSync}
 * @author zhangbh
 **/
public abstract class AbstractSyncScheduler {
    /**
     * 业务标识，防止同一个key的调度同时执行
     * @return 业务标识枚举
     */
    public abstract LimitSyncSchedulerKeyEnum businessKey();
}
